
#ifndef GEOMETRYATTRIBEWIDGET_H
#define GEOMETRYATTRIBEWIDGET_H

#include "ui_geometryattribewidget.h"

#include "../data/geometrydata.h"

namespace PBVP {
	class GeometryDataNode;
	///
	class GeometryAttribWidget : public QWidget
	{
		Q_OBJECT

	public:
		/// <summary>
		/// 
		/// </summary>
		/// <param name="pGeometry"></param>
		/// <param name="parent"></param>
		GeometryAttribWidget(GeometryDataNode *pGeoNode, QWidget *parent = NULL);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="pGeometry"></param>
		void setGeometry(GeometryData *pGeometry) {
			m_pGeometry = pGeometry;
		}
		
		/// 
		void setRenderingProperty(QWidget *renderPropWidget);

		///
		void updateAttributes();

	public slots:
		///
		void invertNormals();

		///
		void invertFaceNormals();

	protected:
		GeometryDataNode *m_pGeoDataNode;
		GeometryData *m_pGeometry;

	private:
		Ui_GeometryAttribeWidget ui;
	};
}
#endif

